package com.eco.fanliapp.service;

import com.eco.fanliapp.entity.AppGoods;
import com.eco.fanliapp.entity.AppOrderDetail;
import com.eco.fanliapp.vo.job.*;


public interface ITaoBaoOrderService
{
	CountLauncherPay getCountLauncherPay();
	void setCountLauncherPay(CountLauncherPay countLauncherPay);

	CountLauncherSuccess getCountLauncherSuccess();
	void setCountLauncherSuccess(CountLauncherSuccess countLauncherSuccess);

	CountLauncherFail getCountLauncherFail();
	void setCountLauncherFail(CountLauncherFail countLauncherFail);

	CountLauncherDone getCountLauncherDone();
	void setCountLauncherDone(CountLauncherDone countLauncherDone);
	CountLauncherRefund getCountLauncherRefund();


	void setCountLauncherRefund(CountLauncherRefund countLauncherRefund);

	/**
	 * Eco API
	 * 拉取订单
	 *
	 * @param session        淘客的授\权session来查订单
	 * @param startTime      下单时间
	 * @param pageNo         第几页 默认1，1~100
	 * @param tkStatus       订单状态1: 全部订单，3：订单结算，12：订单付款， 13：订单失效，14：订单成功； 订单查询类型为‘结算时间’时，只能查订单结算状态
	 * @param orderCountType 订单数据统计类型，1: 2方订单，2: 3方订单，如果不设置，或者设置为1，表示2方订单
	 * @param orderQueryType 订单查询类型，创建时间“create_time”，或结算时间“settle_time”。当查询渠道或会员运营订单时，建议入参创建时间“create_time”进行查询
	 * @param orderScene     订单场景类型，1:常规订单，2:渠道订单，3:会员运营订单，默认为1，通过设置订单场景类型，媒体可以查询指定场景下的订单信息，例如不设置，或者设置为1，表示查询常规订单，常规订单包含淘宝客所有的订单数据，含渠道，及会员运营订单，但不包含3方分成，及维权订单
	 * @return https://open.taobao.com/api.htm?docId=24527&docType=2&scopeId=11650
	 */
	void getPayOrderDetail(String session, String startTime, String endTime, long pageNo,
						   long tkStatus, long orderCountType, String orderQueryType, long orderScene, int type, String positionIndex);

	void getFailOrderDetail(String session, String startTime, String endTime, long pageNo,
							long tkStatus, long orderCountType, String orderQueryType, long orderScene, int type, String positionIndex);

	void getSettleOrderDetail(String session, String startTime, String endTime, long pageNo,
							  long tkStatus, long orderCountType, String orderQueryType, long orderScene, int type, String positionIndex);

	void getSuccOrderDetail(String session, String startTime, String endTime, long pageNo,
							long tkStatus, long orderCountType, String orderQueryType, long orderScene, int type, String positionIndex);

	void getRefundOrderDetail(String appSession, String startTime, String endTime);

	AppGoods getAppgoods(String itemId, AppOrderDetail order);

	Object testHandle(Long userId, Long tradeId);
}
